package com.lx.service;

import com.lx.entity.BankCard;
import com.lx.entity.User;
import com.lx.entity.vo.UserVo;

import java.sql.SQLException;
import java.util.List;

/**
 * @author c先生
 * @date 2022年05月05日 下午 3:59:56
 * @describe
 */

public interface UserService {
    //注册用户
    Integer registerUser(User user);

    //用户登录
    String loginUser(String name);

    //添户，添卡
    //根据手机号查询
    public Integer getUserIdByPhone(String userPhone);

    //查询所有用户
    public List<UserVo> getAll();


    /**
     * 根据用户名查询用户的所有信息
     *
     * @param userName 用户名
     * @return 一条用户信息
     * @author yuanchu
     */
    User getUserInfoByName(String userName);

    /**
     * 根据手机号查询是否存在该用户
     *
     * @param phoneNum 查询关键词手机号
     * @return 是否存在该用户
     * @author yuanchu
     */
    boolean isExistByPhoneNum(String phoneNum);

    /**
     * 登录
     *
     * @param phoneNum 登录的手机号
     * @param pwd      输入的密码
     * @return 是否登录成功
     * @author yuanchu
     */
    User login(String phoneNum, String pwd);

    /**
     * 通过身份号码判断该用户是否存在
     *
     * @param idCard 查询条件 身份证号
     * @return 是否存在
     * @author yuanchu
     */
    boolean isExistByIdCard(String idCard);

    /**
     * 为客户开户，主要使用后了User对象的userName、userPwd、userPhone、userAddress、userBirthday、userGender、openAccount、idCard对象
     *
     * @param user user对象 填充了 userName、userPwd、userPhone、userAddress、userBirthday、userGender、openAccount、idCard
     * @return 是否成功开户
     * @author yuanchu
     */
    boolean openAccount(User user);
}
